Memory control system

ABSTRACT

A memory control system for controlling the communication between a plurality of users and a memory is disclosed. The memory which is random-access memory, is organized in a unique way in that it is divided into pages, each page containing a plurality of groups, each group including a plurality of addressable locations. Each page also includes page control words and a separate group link word for each group. Fields of the page control words are used for page linking to form page lists and to indicate the availability of groups for assignment, while the fields of the group link words are used for the linking of groups to form strings of groups. The memory also includes a specific addressable location in which a system control word is stored. Various fields of the system control word are used in controlling the initial assignment of pages, the reclamation of pages no longer needed by users, and the dynamic reassignment of pages to users. The memory also includes a separate user control word for each user. Various fields of a user control word are used to point to a user&#39;&#39;s page list, to point to a page in which group space is available for assignment, and to point to reclaimed groups. The memory control system includes a plurality of generators for generating, at clock cycle time, the addresses of any one of the control words. The memory control system also includes logic circuitry for automatically executing any one of a plurality of coded operations, commanded by any of the users.

United States Patent Rice et al.

5/1969 Barlowetal. l2/l969 Goshorn..

Primary Examiner-Paul J. Henon Assistant Examiner-Ronald B. Chapuran Attorney-Roger S. Borovoy and Alan H. MacPherson l ABSTRACT A memory control system for controlling the communication between a plurality of users and a memory is disclosed. The

memory which is random-access memory, is organized in a unique way in that it is divided into pages, each page containing a plurality of groups, each group including a plurality of addressable locations. Each page also includes page control words and a separate group link word for each group Fields of the page control words are used for page linking to form page lists and to indicate the availability of groups for assignment, while the fields of the group link words are used for the linking of groups to form strings of groups. The memory also includes a specific addressable location in which a system control word is stored. Various fields of the system control word are used in controlling the initial assignment of pages, the reclamation of pages no longer needed by users, and the dynamic reassignment of pages to users. The memory also includes a separate user control word for each user. Various fields of a user control word are used to point to a user's page list, to point to a page in which group space is available for assignment, and to point to reclaimed groups. The memory control system includes a plurality of generators for generating, at clock cycle time, the addresses of any one of the control words. The memory control system also includes logic circuitry for automatically executing any one of a plurality olcodcd operations. commanded by any of the users.

5 Claim, 6! Drawing Figures womums REGISTIRS n '3 g s 5 c a. -t9 ,56

MAIN or 2 i) memoav DAYA eus BUS H a 'L' loo l3 2 J v A o 7 s a m 1 94- J J 9 ,5 s E z 0 Ba 59 a 6 w M All 8o cuicc.. i HE J was 75 um'r a 5 d1 65 u 72 memoav I0 I g 1 7 lmaoazss l user: Numsel? 0522 m U Ifllensrztz 1 Bus 1 52 "o 0 corner: a I msmonv an: I 8 e5 wcm'e. c+-ri2ous MEMORV g 0 l t I SEQUENCING. r OPEQATIoN OPBGATION MCS CONTROL DE Bus DECQDER Coerraon. uNI-r ,GS I

PATENTEDFEB I 5 I972 SHEET UIUF 35 PHA IPHB PHA IPHB I I I I PHA IPHB GROUP NO.

BIT p IC-HZOUP NO. W0 WI W2 W5 W4 W5 W6 W7 0 o o o o I o PHA PHBI IGLI ICILZIGLZ (1L4 ooooI I GL5 -GL|2 0 o 0 I o I 2 C=L|3 mac 0 o o I I I 3 C-ILQI GL28 O o I o 0 I 4 DATA STOQING eQoupI O O I O I I 5 II II GDOUPZ I I I l I I l I I I I I I I I I I0 I 30 n N GROUPZ'? I l l l I I 3| II II GROUP 25 INVENTORS Rex R106 2; 2 2a WALL/0M R. $m/T TTOQLfES/S PATENTED F EH 1 5 I972 SHEET OJUF 35 INPUT REG INDEX ADDEQ ADDQESS FTP l MC 5 lzeeasrelzs COMPLETE U PRIOR ART 0! U 4 z E J fl q, GEL

CoHT': SIG. 5.55:; 4

MCS QEQISTECZ Men/101v ATQJX MEMOQY 5o MATQIX mamonv MATQIY INVENTORS 125x R/cE .SM/TH QTTOQJE S PAIENTmFmsmn 3.643.225

saw on or 35 FROM USER USER NO 3 d MEMOQY oecooacz 1 3 i MATQlX g CONT: slca. Pap,

CONT: SIG.

INPUT QE6 QELA'HVE ADDQESS 4 TRANSLATOR n! U MEMORY 4 3o 2 2 MATI2\X a El 47, 8 i

MEmoQv g 30 Z 5 MATRIX a CONT: SCw. FBP.

GEN.

INVENTORS REX R/CE TAI/LL/AJM 2.. SM

PATENTEDFEB I 5 I972 3.643 .225

sum 05 HF 35 01 N MEMOQV 4 30 PAGE N9 IN A PN PAGE N2 IN 5 MA'TQIX RELOCATION g Fnzsr men/102v TABLE MEMOQV so CONT: slG. S p M GEN 1 INPUT Q66. 0! y MEMoQv PM PAGE 9 g 30 N IN PM IN A FIRST QELOCATION Z MATQIX MEmoQv TABLE MEMoQv 3o 0 CONT: SIG.

RELATIVE INPUT 2E6 ADDQESS TQANSLATOR 1 q d MEMORY 3 PAGE N9 [N A PAGE. N9 IN 2 2 MATRIX O QELOCATION mas-r TABLE memorzv 3o 3 memoczv INVIEN'I'ORS 25x R/cE WALL/4M 2 SM/TH BY I 4 -r roe/Us vs PATENTEDFEB 15 I972 3.643.225

SHEEI 07 or 35 PLC PHA

\ FHA PHA 2 PLA 34 p4 PLA12 FHA PLA23 PHA I 5 1 PHA PHBI INVENTORS REX R166 WILL/4M 2. 5M: TH

:QTTOQAIE vs PATENTEDFEB 1 5 1912 3.643 .225

saw our 35 PHB EEIIII $ALA43 P SALAg;

PLC mm- PHA PHB PHB INVENTORS 25x R/ce PHB WILL/4M 12. $M/TH BY m a 9 1077- AOL/E v5 PATENIEDFEB 15 I872 SHEET 120F 35 5A5 LTLP [I H CPLP [I IAC 10] U) (I P7 ASSGNED PIO PI PLI' Q PL? P12 I p5 P15 I Z .1 474 P6 SALL. AGLS IGAC ooloo OOIOI GROUP ADDRESS PHAUPHB [3L1 IGL2I6L3IC1L4 ooooo OOOOI OOOIO OOOII DATA STORING GQOUPI DATA STORIN C: GROUP 2 OOIOI DATA- STORING GROUPS OOIIO DATA- STOQING GROUP 27 DATA STOQI NC: QIROUP 78 INVIENTORS REX RICE WILL/0M 2, S I

PATENTEDFEB15 I972 3.643.225

sum 1a or as To & FROM WORKING QEQS. 5%

WORD

ADD PAQT @1 1 020m: ADD PT (5 ans) IBSITS uscrz N9 (5 BITS) SAS ADD GEN.

INVIiN'I'O/(S 25! gms WILL/QM 2, SMITH may Q TTOQJE v5 PATENTEDFE815 m2 3.643.225

sum 15 or 35 ACI'LS [[6 AC F'Gl. n

'2' GLn pus GLP I22 GL Pg.

DATA-STORING elzou I (FULL) DATA-STOQIN6 GROUP 2 (FULL) WOATA STOQIN6 GQOUP n (AVAIL. Fora ASSIGNMENT) DATA-STODINCq GROUP m (AVAIL. F02 ASSIGNMENT) DATA-STORING gaou 2s (FULL) AGLS IGAC DATA-STORING. GQOUPI (FULL) DATA-STODJNG GROUP 2 (FULL) DATA-STODJNG enou P (AVAIL, Fonz ASSlGNMENT) DATA-STORING GQouP n (AssleNeo) DATA-STORING, e-lzoup m (AVAIL. Fora ASSIGNMENT) DATA-STOQING GROUP 23 (FULL) Z. Z 5 Rex J2me l g b vIALL/a R 5M/TH PATENTEDFEB 15 m2 SHE! 18 0F 35 ASSI GN GROUP SUEVOPv INVENTORS RE x RICE.

WILL/4M 2. 5M: TH

my 10 T'r'oQA/E VS PATENTEDFEB 15 1912 3.643 .225

sum 19 or as ASSIGN GROUP OPERATION ACCESS PHB USE ADDQESS AS A FIRST ASSIGN e120 F'Qom PAGE FIG Id 0215015 CASE Alb 0(2 AZQ Assleu A OAGE (mes |oa,|ob

0Q IZCL, IZb) ADD PAGE TO PAGE LIST FIG ,7

ADD OAcae V76 T SAL. LIST FROM SAL ASSIGN g FOLLOW SAL. Flag 6 LINK FIGJ L QETUQN ADDRESS OF ASSIGNED 620m? LINK ACTIVE INVENTORS RE x 2/6 E WILL/0M R. Syn-r14 IQTTOQAJE VS 

1. A method for dynamically locating memory storage locations, comprising: receiving a unit of data of a sequence of such units from a user; assigning a storage location to said unit of data in a computer memory; associating a group link word to said unit of data, said group link word containing information denoting the locations in the memory of the previous and subsequent data units in said sequence of data units; referring to one of said group link words to ascertain the location of one of said units in said sequence of data units; and finding said one of said sequence of data units and using it to locate one or more additional units of data in said sequence of units of data.
 2. The method of claim 1 further characterized by the assignment of a storage location into said unit of data being carried out by referring to a system control word whose content is indicative of the availability of locations in said memory for said user.
 3. The method of claim 1 further characterized by the additional step of ascertaining the locations previously assigned to said user and the availability of previously assigned locations for use by said user by means of reference to a list control word also assigned to said user.
 4. The method of claim 1 further characterized by the assignment of a storage location to said unit of data in the computer memory being within a plurality of user storage pages assigned to said user, each page having a page header word which includes a page list link portion denoting the location of a different related page assigned to the same user, said related page also having a page header word including a page list link portion denoting another different related page assigned to the same user, said page and all said related pages thereby defining a list of pages assigned to the same user.
 5. The method of claim 4 further characterized by said user storage pages including a plurality of groups of locations for storing data words and a location for storing said page header and the content of a part of said page header word being indicative of groups of locations available for storing data from the user to which the page is assigned. 